\chapter{Introducció}

\section{Motivació del projecte}
En aquest món cada cop més informatitzat, any rere any augmenta el nombre
d'usuaris d'aplicacions informàtiques, ja sigui a través del creixent mercat
dels dispositius mòbils com del més tradicional però també creixent mercat de
l'ordinador personal, ampliat recentment amb productes com netbooks o portàtils
a preus impensables fa relativament poc temps.\\

Un percentatge d'aquests usuaris té algun tipus de discapacitat que afecta a la
interacció amb les aplicacions.\\
Per contrapartida la gran majoria d'aplicacions es desenvolupen sense tindre
aquest fet en compte, i en el cas que ho contemplin solen ser solucions fetes a
mida per a un perfil d'usuari concret.\\

És cert que hi ha excepcions, però no és la norma general. La gran majoria de
les aplicacions que hi ha actualment al mercat no té en compte les necessitats
especials d’aquest conjunt d'usuaris. D’altra banda les solucions actuals per
a aquest problema es centren a cobrir les necessitats de discapacitats concretes
en comptes de proposar una solució d'àmbit més general.

\section{Objectius del projecte}
Es proposa implementar una solució genèrica, capaç de satisfer les necesitats de
diferents perfils i de funcionar sota diferents dispositius, basada en modificar
la interfície d'usuari de les aplicacions per tal de facilitar la interacció de
l'usuari amb aquestes.\\

Això genera un seguit de problemes que s'han de tenir en compte abans de poder
prendre cap decissió de disseny pel sistema:

\begin{itemize}
  \item \textbf{Distingir entre usuari i usuari discapacitat}\\Abans de
  prendre cap decissió el sistema ha de saber d'alguna
  manera si l'usuari és discapacitat o no. És necessari ja que el sistema no ha
  de limitar-se a oferir canvis només per als usuaris discapacitats
  sinò que ha de poder millorar també l'experiència d'us de l'aplicació per a usuaris normals.
  
  \item \textbf{Múltiple ventall de discapacitats}\\Actualment estan
  reconegudes moltes discapacitats que impedeixen l'ús normal d'apliacions, i 
  a més a més, el grau de discapacitat pot variar per segons quina discapacitat.
  Quan el sistema ha de tractar amb
  usuaris discapacitats aquest té que saber exàctament quin és el seu tipus de
  discapacitat i quin és el seu percentatge d'afectació. 
  
  \item \textbf{Múltiple ventall de dispositius}\\
  En el mercat existeixen múltiples tipus de dispositius: ordenadors de
  sobretaula, terminals mòbils, PDA's, netbooks, tablets, electrodmèstics
  intel·ligents, i més. El sistema ha de ser capaç de distingir-los i poder
  adaptar qualsevol aplicació independentment del tipus de dispositiu, tenint
  en compte paràmetres com quin son els seus dispositius d'E/S, quines
  capacitats de connectivitat disposa, etc. A més a més cada un d'aquests
  dispositius, pot portar un sistema operatiu diferent que el sistema també
  necessita saber. 
  
  \item \textbf{Múltiples tipus d'aplicacions}\\
  Les aplicacions poden estar implementades en múltiples tipus de
  llenguatges. Cada llenguatge té els seus avantatges i els seus
  inconvenients a l'hora de construir interfícies d'usuari i les funcionalitas
  que aquests ofereixen proporcionen una navegació diferent entre ells per a
  cada interfície. Estem parlant de events, elements de pantalla, menús,
  controls, i altres aspectes d'una interfície d'usuari
  
\end{itemize}

També es pretén que el sistema aprengui de les dades que pugui haber
captat d'interaccions anteriors per tal d'oferir una modificació de
la interfície d'usuari cada cop millor. Per tal de poder oferir aquesta
funcionalitat existirà la posibilitat de que l'usuari de puntuar els últims
canvis aplicats.\\

Els requisits principals que s'han tingut en compte a l'hora de desenvolupar
aquest sistema per a assolir els seus objectius són els següents:


\begin{itemize}
  \item Codificar les discapacitats d'usuari, creant un perfil d'usuari
  \item Codificar les peculiaritats del dispositiu, creant un perfil de
  dispositiu
  \item Proporcionar una solució capaç de convertir qualsevol aplicació Java en
  una aplicació adaptada
  \item Aquesta solució ha de poder monitoritzar la interacció de l'usuari amb
  l'aplicació i ha de ser conscient de l'estructura de la interfície d'usuari
  \item La solució ha de poder utilitzar les dades del punt anterior així com
  els dos perfils per determinar canvis a la interfície d'usuari que millorin la
  interacció
  \item L'usuari ha de tenir cert control sobre l'adaptació de la interfície
  d'usuari
  \item L’adaptació ha de ser transparent per a l'usuari. En conseqüència ha de
  ser ràpida
\end{itemize}

\section{Estructura del document}
Aquest document esta estructurat en 11 capítols, el primer dels quals és el que
el lector llegeix, la introducció. A continuació es fa una breu
descripció de cada un d'ells:\\

\begin{itemize}
  \item \textbf{Capítol 2: Definició del problema}\\
  S'introdueixen els conceptes que hauran de ser resolts i s'acota la solució. 
  \item \textbf{Capítol 3: Context d'accessibilitat}\\
  Es defineix el concepte d'accessibilitat i es mostra la situació actual quant
  a aquest tema.
  \item \textbf{Capítol 4: Java a l'actualitat}\\
  Una aproximació al món Java a diferents nivells. És un requisit esencial ja
  que es tracta del llenguatge amb que està implementada la solució i en el que
  estan implementades les aplicacions que es volen adaptar.
  \item \textbf{Capítol 5: Accessibilitat en Java}\\
  S'exposa les solucions que ofereix Java quant a accessibilitat. 
  \item \textbf{Capítol 6: Estudi de les libreries d'Interfície d'Usuari a
  Java}\\
  Definició de les diferentes llibreries que utilitzen tant J2SE com J2ME per a
  oferir interfícies gràfiques i estudi de la capacitat d'adaptació de
  cadascuna.
  \item \textbf{Capítol 7: Solució proposada}\\
  Descripció a nivell de disseny de la solució que presenta aquest projecte.
  \item \textbf{Capítol 8: Tecnologies utilitzades i detalls de la
  implementació}\\
  Aprofundiment en les decisions de implementació i recull de les tecnologies
  que han sigut emprades en aquest projecte, siguin part de la solució final o
  no.
  \item \textbf{Capítol 9: Capacitat d'adaptació de la solució}\\
  Especificació de les adaptacions que és capaç d'oferir el sistema actualment.
  \item \textbf{Capítol 10: Casos d'estudi}\\
  Es verifica que el sistema funciona.
  \item \textbf{Capítol 11: Conclusions i treball futur}
  \item \textbf{Annex A: Preparació de l’entorn per al desenvolupament sobre dispositius mòbils
(J2ME)}\\
  Com preparar l'entorn de desenvolupament per a J2ME pas
  a pas.
  \item \textbf{Annex B: Preparació de l’entorn per al desenvolupament
  d’escriptori (J2SE)}\\ Com preparar l'entorn de desenvolupament per a J2SE pas
  a pas.
  \item \textbf{Annex C: Preparació de l’entorn per al desenvolupament del
  servidor}\\ Com preparar l'entorn de desenvolupament per al
  servidor pas a pas.
\end{itemize}
